#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<vector>
#include<string>
using namespace std;
//int main()
//{
//	vector<int> a;
//	int pe = 2024;
//	int n;
//	cin >> n;
//	int de = 0;
//	while(pe!=0)
//	{
//		for (int j = 0; j < n; j++)
//		{
//			pe--;
//			if (pe == 0)
//			{
//				break;
//			}
//		}
//		de++;	
//	}
//	cout << de;
//	return 0;
//}


//#include<set>
//int main()
//{
//	set<int> arr;
//	int n;
//	cin >> n;
//	for (int i = 0; i < n; i++)
//	{
//		int tmp;
//		cin >> tmp;
//		arr.insert(tmp);
//	}
//	for (auto e : arr)
//	{
//		if (e % 2 == 0)
//		{
//			cout << e;
//			break;
//		}
//	}
//	return 0;
//}

//int main()
//{
//	string key = "LANQIAO";
//	string st;
//	cin >> st;
//	int arr[7] = { 0 };
//	int ret = 0;
//	for (int i = 0; i < 7; i++)
//	{
//		ret = st.find(key[i], ret);
//		arr[i] = ret;
//	}
//	int tmp = 0;
//	for (int i = 0; i < 6; i++)
//	{
//		if (arr[i] > arr[i + 1] || arr[i] == -1)
//		{
//			cout << "NO";
//			return 0;
//		}
//		tmp++;
//	}
//	cout << "YES";
//	return 0;
//}


int main()
{
	//int a = 3 ^ 5;
	int count = 0;
	for (int i = 1; i <= 2024; i++)
	{
		int b = 2024 ^ i;
		if (b < 2024)
		{
			count++;
		}
	}
	cout << count;
}